/**
* Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved.
* Licensed under the terms of the Eclipse Public License (EPL).
* Please see the license.txt included with this distribution for details.
* Any modifications to this file must keep this entire header intact.
*/
package com.python.pydev.analysis.actions;
import org.eclipse.ui.dialogs.SearchPattern;
import com.python.pydev.analysis.additionalinfo.ClassInfo;
import junit.framework.TestCase;
public class GlobalsTwoPanelElementSelector2Test extends TestCase {
public void testPatternMatch() throws Exception {
SearchPattern patternMatcher = new SearchPattern();
patternMatcher.setPattern("aa");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aa", null, null)));
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", null, null)));
assertFalse(MatchHelper.matchItem(patternMatcher, new ClassInfo("baaa", null, null)));
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "coi.foo", null)));
patternMatcher.setPattern("xx.aa");
assertFalse(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "invalid.foo", null)));
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "xx.foo", null)));
patternMatcher.setPattern("xx.foo.aa");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "xx.foo.bar", null)));
patternMatcher.setPattern("xx.foo.bar.aa");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "xx.foo.bar", null)));
patternMatcher.setPattern("xx.foo.bar.aa.aa");
assertFalse(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "xx.foo.bar", null)));
patternMatcher.setPattern("xx.foo.ba.aa");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "xx.foo.bar", null)));
patternMatcher.setPattern("xx.fo*o.ba.aa");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("aaa", "xx.foo.bar", null)));
patternMatcher.setPattern("coi*.intersection");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("Intersection", "coilib50.basic.native", null)));
patternMatcher.setPattern("coilib50.intersection");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("Intersection", "coilib50.basic.native", null)));
patternMatcher.setPattern("coilib50.");
assertTrue(MatchHelper.matchItem(patternMatcher, new ClassInfo("Intersection", "coilib50.basic.native", null)));
}
public void testPatternSubAndEquals() throws Exception {
assertFalse(MatchHelper.equalsFilter("aa", "aa "));
assertTrue(MatchHelper.equalsFilter("aa", "aa"));
assertFalse(MatchHelper.equalsFilter("aa.", "aa"));
assertFalse(MatchHelper.equalsFilter("aa", "aa."));
assertTrue(MatchHelper.equalsFilter("aa.", "aa."));
assertTrue(MatchHelper.isSubFilter("aa.", "aa."));
assertTrue(MatchHelper.isSubFilter("aa", "aab"));
assertFalse(MatchHelper.isSubFilter("", "a"));
assertFalse(MatchHelper.isSubFilter("a.", "a"));
assertFalse(MatchHelper.isSubFilter("a.", "a.a"));
assertTrue(MatchHelper.isSubFilter("a.a", "a.ab"));
assertTrue(MatchHelper.isSubFilter("aa.b", "aa.ba"));
assertFalse(MatchHelper.isSubFilter("a.", "a.ab"));
assertFalse(MatchHelper.isSubFilter("a", "a.ab"));
}
}